home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 12 - 1996 / 12.12 Dec 96 / Getting Started / eventHandler.java < prev    next >
Encoding:
Java Source  |  1996-09-19  |  3.4 KB  |  173 lines  |  [TEXT/CWIE]

  1. import java.awt.*;
  2.  
  3. public class eventCanvas extends Canvas
  4. {
  5.     boolean        hasFocus;
  6.     
  7.     eventCanvas( int width, int height )
  8.     {
  9.         setBackground( Color.yellow );
  10.         resize( width, height );
  11.         
  12.         hasFocus = false;
  13.     }
  14.     
  15.     public boolean mouseUp( Event e, int x, int y )
  16.     {
  17.         eventHandler.reportEvent( "mouseUp" );
  18.         return true;
  19.     }
  20.     
  21.     public boolean mouseDown( Event e, int x, int y )
  22.     {
  23.         eventHandler.reportEvent( "mouseDown" );
  24.         return true;
  25.     }
  26.     
  27.     public boolean mouseDrag( Event e, int x, int y )
  28.     {
  29.         eventHandler.reportEvent( "mouseDrag" );
  30.         return true;
  31.     }
  32.     
  33.     public boolean mouseEnter( Event e, int x, int y )
  34.     {
  35.         eventHandler.reportEvent( "mouseEnter" );
  36.         return true;
  37.     }
  38.     
  39.     public boolean mouseExit( Event e, int x, int y )
  40.     {
  41.         eventHandler.reportEvent( "mouseExit" );
  42.         return true;
  43.     }
  44.     
  45.     public boolean keyDown( Event e, int key )
  46.     {
  47.         String    eventString = "keyDown: ";
  48.         String    keyName, modifierName;
  49.         
  50.         modifierName = getModifierName( e );
  51.         if ( modifierName != null )
  52.             eventString += modifierName;
  53.         
  54.         keyName = getKeyName( key );
  55.         
  56.         if ( keyName != null )
  57.             eventString += keyName;
  58.         else if (( key >= 32 ) && ( key <= 127 ))
  59.             eventString += new Character( (char)key ).toString();
  60.         else
  61.             eventString += key;
  62.         
  63.         eventHandler.reportEvent( eventString );
  64.             
  65.         return true;
  66.     }
  67.     
  68.     public String getModifierName( Event e )
  69.     {
  70.         if ( e.controlDown() )
  71.             return( "Control-" );
  72.         if ( e.metaDown() )
  73.             return( "Meta-" );
  74.         if ( e.shiftDown() )
  75.             return( "Shift-" );
  76.         
  77.         return null;
  78.     }
  79.     
  80.     public String getKeyName( int key )
  81.     {
  82.         switch ( key )
  83.         {
  84.             case Event.F1: return "F1";
  85.             case Event.F2: return "F2";
  86.             case Event.F3: return "F3";
  87.             case Event.F4: return "F4";
  88.             case Event.F5: return "F5";
  89.             case Event.F6: return "F6";
  90.             case Event.F7: return "F7";
  91.             case Event.F8: return "F8";
  92.             case Event.F9: return "F9";
  93.             case Event.F10: return "F10";
  94.             case Event.F11: return "F11";
  95.             case Event.F12: return "F12";
  96.             case Event.HOME: return "HOME";
  97.             case Event.END: return "END";
  98.             case Event.LEFT: return "Left Arrow";
  99.             case Event.RIGHT: return "Right Arrow";
  100.             case Event.UP: return "Up Arrow";
  101.             case Event.DOWN: return "DownArrow";
  102.             case Event.PGUP: return "Page Up";
  103.             case Event.PGDN: return "Page Down";
  104.         }
  105.         
  106.         return null;
  107.     }
  108.     
  109.     public boolean keyUp( Event e, int key )
  110.     {
  111.         eventHandler.reportEvent( "keyUp" );
  112.             
  113.         return true;
  114.     }
  115.     
  116.     public boolean gotFocus(Event e, Object what)
  117.     {
  118.         hasFocus = true;
  119.         eventHandler.reportEvent( "gotFocus" );
  120.         repaint();
  121.         
  122.         return true;
  123.     }
  124.     
  125.     public boolean lostFocus(Event e, Object what)
  126.     {
  127.         hasFocus = false;
  128.         eventHandler.reportEvent( "lostFocus" );
  129.         repaint();
  130.         
  131.         return true;
  132.     }
  133.     
  134.     public void paint( Graphics g )
  135.     {
  136.         Rectangle    r;
  137.         
  138.         r = bounds();
  139.         g = getGraphics();
  140.         
  141.         if ( hasFocus )
  142.             g.setColor( Color.red );
  143.         else
  144.             g.setColor( Color.yellow );
  145.             
  146.         g.drawRect( 0, 0, r.width-1, r.height-1 );
  147.         g.drawRect( 1, 1, r.width-3, r.height-3 );
  148.     }
  149. }
  150.  
  151. public class eventHandler extends java.applet.Applet
  152. {
  153.     eventCanvas            eCanvas;
  154.     static TextArea        tArea;
  155.     
  156.     public void init()
  157.     {
  158.         add( new Label( "Click and type in this Canvas:" ) );
  159.         
  160.         eCanvas = new eventCanvas( 200, 100 );
  161.         add( eCanvas );
  162.         
  163.         add( new Label( "Here's a list of canvas events:" ) );
  164.         
  165.         tArea = new TextArea( 10, 30 );
  166.         add( tArea );
  167.     }
  168.     
  169.     public static void reportEvent( String eventString )
  170.     {
  171.         tArea.appendText( eventString + "\r" );
  172.     }
  173. }